The present invention relates to a method for splitting a single file and storing the file in a plurality of tape media, i.e. spanning in a tape drive file system.
Methods exist for using a tape medium (e.g., a tape cartridge or other tape medium) via a file system as if the tape medium is a hard disk drive (HDD) or a Universal Serial Bus (USB) memory. For example, a linear tape file system (LTFS) manages a tape medium split into two areas called a data partition (DP) and an index partition (IP). The LTFS stores the main body of a file in the DP of a tape medium and also stores metadata corresponding to the file, called an index, such as a file name or an ID for identifying the file, in the IP of the tape medium in an extensible markup language (XML) file format. The index includes metadata on all of the files stored in a single tape medium. The present LTFS format does not allow splitting a single file and storing it in a plurality of tape media.
For example, a fifth-generation linear tape open (LTO) tape drive does not allow writing data exceeding a maximum capacity of 1.5 TB on a single tape medium. Furthermore, in the case where additional data is to be written into a tape medium in which a certain amount of data is already written, only data having a capacity smaller than the maximum capacity of the tape medium can be added. Data exceeding the capacity of the maximum capacity of the tape medium (e.g., 1.5 TB) cannot be split and stored on a second tape medium.
Furthermore, the volume of a file to be written sometimes has not been determined at the start of writing. Examples include a case where recording for producing a program in a broadcasting industry or the like is performed in real time, and a case where an image taken by a USB camera is continuously directly written to a tape medium in a security system. In such cases, the volume of the file being written to the tape medium sometimes exceeds the capacity of the tape medium. This requires splitting the written file and storing it and continuing to write the following data into another medium (spanning).
In the case where the spanned file is changed (for example, data is added or partially deleted or the file name is changed), index information on all the tape media that store portions of the file (file size, time stamp, file name, and so on) needs to be updated. The LTFS holds a copy of an index recorded on a tape medium in a memory or a hard disk drive. This is because it takes much time to read the index from the tape medium when the tape medium is mounted in a tape drive. If the copy has the same information as the index on the tape medium, the index on the tape medium is not used. In other words, the LTFS reads the index information on the tape medium in the case where the copy of the index in the memory or the hard disk drive cannot be used for some reason.
In the case where only the index of part of the tape media in which a spanned file is stored is updated, a problem occurs. The LTFS cannot determine index information for which of the tape media should be adopted when reading an index on a tape medium. Also for a change in a file portion, index information on all the tape media that store the spanned file needs to be updated.
To change a tape medium mounted in a tape drive system by using a tape library, it takes two minutes on average, or sometimes even four minutes or more. Even if the file main body is recorded on a tape medium, a problem may occur in the event of a trouble event, such as a power-down of the tape drive before the index is updated. The LTFS cannot use a file main body that is not registered in the index. Therefore, in a standard setting, the index is updated every five minutes during writing of the file main body.
Japanese Unexamined Patent Application Publication No. 11-306190 discloses a technique for relocating system information in a single medium to distribute and store system information necessary for file management in a plurality of media. However, this technique does not show which information on the media the metadata of a single file represents if the file cannot be stored in a single medium. In the known LTFS, changing a tape medium mounted in a tape drive at certain intervals when splitting a file into a plurality of cartridges is impractical from the viewpoint of performance, i.e. with regard to the time necessary for writing data to the tape media.